import store from "@/store";
import { API_URL } from '@/utils/env.js'
	// 本地地址  http://192.168.11.17:6001
	// 测试地址  http://49.234.224.216:5000/antai
	// 正式地址  https://antaimedical.com:5000
const server_url = API_URL
// 版本更新
const updateManager = uni.getUpdateManager();
updateManager.onCheckForUpdate(function(res) {
	// 请求完新版本信息的回调
	if (res.hasUpdate) {
		updateManager.onUpdateReady(function(res) {
			uni.showModal({
				title: '更新提示',
				content: '新版本已经准备好,是否重启应用?',
				confirmColor: '#545DDE',
				success(res) {
					if (res.confirm) {
						// 新的版本已经下载好，调用 applyUpdate 应用新版本并重启
						updateManager.applyUpdate();
					}
				}
			});
		});
	}
});

// // 小程序初始化获取token
// let openid = uni.getStorageSync('openid')
// let userId = uni.getStorageSync('userid')
// if (openid && userId) {
// 	let data = {
// 		username: openid,
// 		phone: openid,
// 		password: 'weixin',
// 		grant_type: 'password',
// 		client_id: 'antai-webapp',
// 		client_secret: '123456'
// 	}
// 	uni.request({
// 		url: server_url + '/devicewx-auth/oauth/token',
// 		data,
// 		timeout: 30000,
// 		method: 'GET',
// 		success: (result) => {
// 			console.log('token', result)
// 			uni.setStorageSync('token', result.data.data.token)
// 			store.commit('saveToken', result.data.data.token)
// 		}
// 	})
// }
// 静默登录
wxLogin()
function wxLogin() {
    wx.login({
        timeout: 10000,
        success: async res => {
            console.log('login', res)
            let data = {
                code: res.code,
                notToken: true,
                urlencoded: true
            }
            try {
                uni.request({
	            	url: server_url + '/devicewx-ylproject/api/v1/ylproject/ylUser/register',
	            	data,
	            	timeout: 30000,
	            	method: 'GET',
	            	success: async (result) => {
                        if (result.data.code == 200) {
                            let params_1 = {
                                username: result.data.data.unionid,
                                password: 'weixin',
                                grant_type: 'password',
                                client_id: 'antai-yl-webapp',
                                client_secret: '123456',
                                notToken: true
                            }
                            uni.setStorageSync('userId', result.data.data.id)
                            uni.setStorageSync('openid', result.data.data.openid)
                            await getToken(params_1,result.data.data.id)
                            
                            // 获取token并保存
                        }
	            	}
	            })
                                // wx.getWeRunData({
                //     success(res2){
                //         let params = {
                //             code:res.code,
                //             encryptedData:res2.encryptedData,
                //             iv:res2.iv,
                //         }
                //         uni.request({
                //             url: server_url + '/devicewx-level/api/v1/level/ylUser/getDecodeData',
                //             data:params,
                //             timeout: 30000,
                //             method: 'GET',
                //             success: async (result) => {
                //                 console.log("%c Line:101 🌶 result", "color:#42b983", result);
                //                 let obj = JSON.parse(result.data.data) 
                //                 console.log("%c Line:102 🍊 obj", "color:#f5ce50", obj);
                //             }
                //         })
                //     }
                // })
            
            } catch (e) {

            }

        }
    })
}
// 获取token
async function getToken(data,userId) {
    await uni.request({
        url: server_url + '/devicewx-auth/oauth/token',
        data,
        timeout: 30000,
        method: 'GET',
        success: async (result) => {
            uni.setStorageSync('token', result.data.data.token)
            await store.commit('saveToken', result.data.data.token)
            await getInfoByUser(userId,result.data.data.token)
        }
    })
}
// 获取用户详情信息
async function getInfoByUser(userId,token) {
	let data = {
		userId: userId,
		urlencoded: true
	}
    await uni.request({
        url: server_url + '/devicewx-level/api/v1/level/ylLevelUserDetails/getDetailsByUser',
        data,
        timeout: 30000,
        method: 'GET',
        header:{
            Authorization: `Bearer ${token}`
        },
        success:async (result) => {
            if (result.data.code == 200) {
                if (result.data.data) {
                    await store.commit('setUserInfo', result.data.data)
                }
            }
        }
    })

}
// 通过 wx.getSetting 查询用户是否授权了 "scope.bluetooth"
wx.getSetting({
	success(res) {
		console.log('getSetting', res)
		// if (res.authSetting['scope.bluetooth'] == undefined) {
		// 	//'scope.bluetooth'属性不存在，需要授权
		// 	wx.authorize({
		// 		scope: 'scope.bluetooth',
		// 		fail(err) {
		// 			uni.showModal({
		// 				title: '提示',
		// 				content: '授权失败,您将无法使用蓝牙相关服务',
		// 				confirmColor: '#545DDE',
		// 				showCancel: false
		// 			})
		// 		},
		// 	})
		// }
		// if (res.authSetting['scope.userLocation'] == undefined) {
		// 	//'scope.bluetooth'属性不存在，需要授权
		// 	wx.authorize({
		// 		scope: 'scope.userLocation',
		// 		fail(err) {
		// 			uni.showModal({
		// 				title: '提示',
		// 				content: '授权失败,您将无法使用蓝牙相关服务',
		// 				confirmColor: '#545DDE',
		// 				showCancel: false
		// 			})
		// 		}
		// 	})
		// }
	}
})